# Picker 选择器
# 选择年、月
GestureDetector(
onTap: () {
MillPicker.year(context: context, initValue: 2002);
},
child: Container(
color: Colors.transparent,
padding: EdgeInsets.all(20),
child: Text('选择年'),
),
),
GestureDetector(
onTap: () {
MillPicker.month(context: context, initValue: 5);
},
child: Container(
color: Colors.transparent,
padding: EdgeInsets.all(20),
child: Text('选择月'),
),
),
# 日期选择
showMillDatePicker(
context: context,
title: '选择日期',
confirmText: 'ok',
onConfirm: (newdate) {
print(newdate);
});
# Attributes
字段名称 | 说明 | 类型 | 默认值 |
---|---|---|---|
backgroundColor | 背景色 | Color | Color(0xffffffff) |
minYear | 最小年份 | int | 1900 |
maxYear | 最大年份 | int | 2100 |
defaultYear | 默认年 | int | 默认第一个 |
defaultMonth | 默认月 | int | 默认第一个 |
defaultDay | 默认日 | int | 默认第一个 |
title | 标题 | String | |
cancelText | 取消按钮文字 | String | 取消 |
confirmText | 确认按钮文字 | String | 确定 |
onCancel | 取消回调 | Function | |
onConfirm | 确定回调 | Function | |
confirmTextStyle | 确定按钮样式 | TextStyle | TextStyle( |
color: Color(0xff1578ff), fontSize: 15, ) | | cancelTextStyle | 取消按钮文字 | TextStyle | TextStyle( color: Color(0xff1578ff), fontSize: 15, ) | | titleTextStyle | 标题文字样式 | TextStyle | TextStyle( color: Color(0xff343434), fontSize: 18, ) |
# 自定义单选
MillPicker.pick(
context: context,
title: '选择类型',
confirmText: '选择',
list: single,
onConfirm: (val) {
setState(() {
singleValue = val['value'];
});
},
initValue: [0],
);
List single = [
{
'label': '苹果',
'value': 0,
},
{
'label': '梨',
'value': 1,
},
{
'label': '桃子',
'value': 2,
},
{
'label': '西瓜',
'value': 3,
},
]
# 多选
GestureDetector(
onTap: () {
MillPicker.pick(
context: context,
title: '选择类型',
confirmText: '选择',
list: mul1,
onConfirm: (val) {
setState(() {
mul2Value = val;
});
},
initValue: [4, 31, 313],
);
},
child: Container(
color: Colors.transparent,
padding: EdgeInsets.all(20),
child: Text(mul2Txt == null || mul2Txt == '' ? '多项选择' : mul2Txt),
),
)
List mul1 = [
{
'label': '山东',
'value': 4,
'children': [
{
'label': '济南',
'value': 31,
'children': [
{
'label': '槐荫',
'value': 311,
},
{
'label': '市中区',
'value': 313,
},
{
'label': '历下区',
'value': 314,
}
],
},
{
'label': '青岛',
'value': 32,
'children': [
{
'label': '崂山',
'value': 329,
},
{
'label': '市中区',
'value': 323,
},
{
'label': '仓宁',
'value': 324,
}
],
},
{
'label': '潍坊',
'value': 33,
'children': [
{
'label': '诸城市',
'value': 311,
},
{
'label': '市中区',
'value': 313,
},
{
'label': '外城区',
'value': 314,
}
],
},
{
'label': '临沂',
'value': 34,
'children': [
{
'label': '兰山区',
'value': 341,
},
{
'label': '费县',
'value': 343,
},
{
'label': '河东区',
'value': 344,
},
{
'label': '罗庄',
'value': 345,
}
],
}
],
}
];
list 是一个树状结构的 List。children 是其子树,只要有 chiildren 会向下一级渲染。 account 是最大层级数。 initValue 是默认选项,是一个 List, 如果设置 initValue 那么会根据 initValue 的长度计算选择的层级。 account 和 initValue 至少要设置一项。
# Attributes
字段名称 | 说明 | 类型 | 默认值 |
---|---|---|---|
backgroundColor | 背景色 | Color | Color(0xffffffff) |
initValue | 默认值 | List<dynamic> | |
list | 选项 | List(树状结构) | |
title | 标题 | String | |
cancelText | 取消按钮文字 | String | 取消 |
confirmText | 确认按钮文字 | String | 确定 |
onCancel | 取消回调 | Function | |
onConfirm | 确定回调 | Function | |
account | 层级 | int | |
confirmTextStyle | 确定按钮样式 | TextStyle | TextStyle( |
color: Color(0xff1578ff), fontSize: 15, ) | | cancelTextStyle | 取消按钮文字 | TextStyle | TextStyle( color: Color(0xff1578ff), fontSize: 15, ) | | titleTextStyle | 标题文字样式 | TextStyle | TextStyle( color: Color(0xff343434), fontSize: 18, ) |
← Refresh 下拉刷新 Tag 标签 →